-
-
Notifications
You must be signed in to change notification settings - Fork 417
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
изменение лейблера и лейблов #13531
изменение лейблера и лейблов #13531
Conversation
Changelog status: ✔️ |
/datum/component/label/proc/apply_label() | ||
var/atom/owner = parent | ||
owner.name += " ([label_name])" | ||
|
||
/// Removes the label from the parent's name | ||
/datum/component/label/proc/remove_label() | ||
var/atom/owner = parent | ||
owner.name = replacetext(owner.name, "([label_name])", "") // Remove the label text from the parent's name, wherever it's located. | ||
owner.name = trim(owner.name) // Shave off any white space from the beginning or end of the parent's name. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Задумка хорошая, реализация хромает. Это плохая компонента, в том смысле, что мы всё равно меняем оригинальный name - поведение не инкапсулировано. replacetext можно было бы и так в лейблере прописать, без оверхеда компоненты.
Если хочется именно компонентой, то беглым поиском нашел https://github.com/tgstation/tgstation/blob/master/code/datums/components/rename.dm
Еще меня смущает сам реплейстекст оригинального имени, скобки не только с лейблером могут быть связаны. С другой стороны, можно принять, что все скобки в названии по умолчанию это уже лейблы, и возможность зайти в начале раунда и "удалить" лейблы у всех плат могла бы быть фичей.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Как альтернатива тгшной компоненте, в компоненте можно было бы просто строку лейблов хранить, и выводить при examine объекта или в подсказках по наведению, не трогая name объекта.
Name объекта всё еще будет видно без лейблов в контекстном меню правого клика, но мы когда нибудь от него откажемся.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
хотя и в этом случае будет проще и лаконичнее добавить var/labels
к объекту, чем городить компоненту.
Увеличить бы допустимое количество символов в этикетке |
Данный ПР автоматически отмечен как застоявшийся по причине длительного отсутствия обновлений. Он будет закрыт через 7 дней, если никакой активности не будет проявлено. Если вы считаете, что ПР еще актуален, или что я (злобный робот) пристаю к вам зря - просто напишите любой комментарий. Спасибо за ваш вклад. |
ПР закрыт из-за длительного отсуствия активности. Для переоткрытия ПРа, пожалуйста, обратитесь к кому-либо из мейнтейнеров. Вы можете призвать их в комментарии слапнув |
Описание изменений
переносит лейбл на компоненту, позволяет наносить максимум 1 лейбл, добавляет возможность его убирать.
Почему и что этот ПР улучшит
меньше раковых бесконечных имен, возможность убрать лейблы
Авторство
порт с маринов
Чеинжлог
🆑